package com.CST.service.cb;

import com.CST.common.api.Response;
import com.CST.dto.cb.DateDTO;
import com.CST.entity.cb.JxCost;
import com.CST.vo.cb.BudgetAssessmentVO;
import com.CST.vo.cb.JXInComeVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.ExecutionException;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author qtx
 * @since 2023-05-18
 */
public interface IJxCostService extends IService<JxCost> {



    List<JXInComeVO> queryInComeVos(DateDTO dateDTO);

    Response modifyPerformance(JxCost entity);

   void exportExcelJXInCome(HttpServletResponse response,DateDTO dateDTO);


    /**
     * 导入数据
     *
     * @param file     文件
     * @param response
     */
    void importExcelJxCost(MultipartFile file,Integer year,Integer month,String type, HttpServletResponse response)throws ClassNotFoundException,
            IOException;

    /**
     * 导出数据
     * @param response response
     */
    void exportExcelJxCost(HttpServletResponse response);

    /**
     * 导出模板
     *
     * @param response response
     * @param type
     */
    void exportExcelJxCostDemo(HttpServletResponse response,String type);

    /**
     * 效益考核预算报表
     * @param dateDTO
     * @return List<BudgetAssessmentVO>
     */
    List<BudgetAssessmentVO> benefitReportForms(DateDTO dateDTO) throws ExecutionException, InterruptedException;

    /**
     * 效益考核预算报表
     * 导出下载
     * @param response
     * @param dto
     */
    void exportExcel(HttpServletResponse response, DateDTO dto) throws ExecutionException, InterruptedException;
}
